package com.ruoyi.fun.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.fun.domain.EcCategory;

/**
 * 商品分类Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public interface EcCategoryMapper 
{
    /**
     * 查询商品分类
     * 
     * @param categoryId 商品分类主键
     * @return 商品分类
     */
    public EcCategory selectEcCategoryByCategoryId(Long categoryId);

    /**
     * 查询商品分类列表
     * 
     * @param ecCategory 商品分类
     * @return 商品分类集合
     */
    public List<EcCategory> selectEcCategoryList(EcCategory ecCategory);

    /**
     * 新增商品分类
     * 
     * @param ecCategory 商品分类
     * @return 结果
     */
    public int insertEcCategory(EcCategory ecCategory);

    /**
     * 修改商品分类
     * 
     * @param ecCategory 商品分类
     * @return 结果
     */
    public int updateEcCategory(EcCategory ecCategory);

    /**
     * 删除商品分类
     * 
     * @param categoryId 商品分类主键
     * @param orgId 组织ID
     * @return 结果
     */
    public int deleteEcCategoryByCategoryId(@Param("categoryId") Long categoryId, @Param("orgId") Long orgId);

    /**
     * 批量删除商品分类
     * 
     * @param categoryIds 需要删除的数据主键集合
     * @param orgId 组织ID
     * @return 结果
     */
    public int deleteEcCategoryByCategoryIds(@Param("array") Long[] categoryIds, @Param("orgId") Long orgId);

    /**
     * 根据CategoryID和组织ID查询Category
     * 
     * @param categoryId Category主键
     * @param orgId 组织ID
     * @return Category
     */
    public EcCategory selectEcCategoryByCategoryIdAndOrgId(@Param("categoryId") Long categoryId, @Param("orgId") Long orgId);

    /**
     * 根据组织ID查询Category列表
     * 
     * @param eccategory Category
     * @param orgId 组织ID
     * @return Category集合
     */
    public List<EcCategory> selectEcCategoryListByOrgId(@Param("eccategory") EcCategory eccategory, @Param("orgId") Long orgId);
}
